﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020004B9 RID: 1209
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class EvolveBuildFinishScNotify : IMessage<EvolveBuildFinishScNotify>, IMessage, IEquatable<EvolveBuildFinishScNotify>, IDeepCloneable<EvolveBuildFinishScNotify>, IBufferMessage
	{
		// Token: 0x17000FA7 RID: 4007
		// (get) Token: 0x0600369F RID: 13983 RVA: 0x00096B84 File Offset: 0x00094D84
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<EvolveBuildFinishScNotify> Parser
		{
			get
			{
				return EvolveBuildFinishScNotify._parser;
			}
		}

		// Token: 0x17000FA8 RID: 4008
		// (get) Token: 0x060036A0 RID: 13984 RVA: 0x00096B8B File Offset: 0x00094D8B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return EvolveBuildFinishScNotifyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17000FA9 RID: 4009
		// (get) Token: 0x060036A1 RID: 13985 RVA: 0x00096B9D File Offset: 0x00094D9D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return EvolveBuildFinishScNotify.Descriptor;
			}
		}

		// Token: 0x060036A2 RID: 13986 RVA: 0x00096BA4 File Offset: 0x00094DA4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public EvolveBuildFinishScNotify()
		{
		}

		// Token: 0x060036A3 RID: 13987 RVA: 0x00096BAC File Offset: 0x00094DAC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public EvolveBuildFinishScNotify(EvolveBuildFinishScNotify other) : this()
		{
			this.coin_ = other.coin_;
			this.score_ = other.score_;
			this.battleResultType_ = other.battleResultType_;
			this.levelInfo_ = ((other.levelInfo_ != null) ? other.levelInfo_.Clone() : null);
			this.curPeriodType_ = other.curPeriodType_;
			this.wave_ = other.wave_;
			this.isLose_ = other.isLose_;
			this.exp_ = other.exp_;
			this.levelId_ = other.levelId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060036A4 RID: 13988 RVA: 0x00096C4C File Offset: 0x00094E4C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public EvolveBuildFinishScNotify Clone()
		{
			return new EvolveBuildFinishScNotify(this);
		}

		// Token: 0x17000FAA RID: 4010
		// (get) Token: 0x060036A5 RID: 13989 RVA: 0x00096C54 File Offset: 0x00094E54
		// (set) Token: 0x060036A6 RID: 13990 RVA: 0x00096C5C File Offset: 0x00094E5C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Coin
		{
			get
			{
				return this.coin_;
			}
			set
			{
				this.coin_ = value;
			}
		}

		// Token: 0x17000FAB RID: 4011
		// (get) Token: 0x060036A7 RID: 13991 RVA: 0x00096C65 File Offset: 0x00094E65
		// (set) Token: 0x060036A8 RID: 13992 RVA: 0x00096C6D File Offset: 0x00094E6D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Score
		{
			get
			{
				return this.score_;
			}
			set
			{
				this.score_ = value;
			}
		}

		// Token: 0x17000FAC RID: 4012
		// (get) Token: 0x060036A9 RID: 13993 RVA: 0x00096C76 File Offset: 0x00094E76
		// (set) Token: 0x060036AA RID: 13994 RVA: 0x00096C7E File Offset: 0x00094E7E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public NKAEANAJHFL BattleResultType
		{
			get
			{
				return this.battleResultType_;
			}
			set
			{
				this.battleResultType_ = value;
			}
		}

		// Token: 0x17000FAD RID: 4013
		// (get) Token: 0x060036AB RID: 13995 RVA: 0x00096C87 File Offset: 0x00094E87
		// (set) Token: 0x060036AC RID: 13996 RVA: 0x00096C8F File Offset: 0x00094E8F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public EvolveBuildLevelInfo LevelInfo
		{
			get
			{
				return this.levelInfo_;
			}
			set
			{
				this.levelInfo_ = value;
			}
		}

		// Token: 0x17000FAE RID: 4014
		// (get) Token: 0x060036AD RID: 13997 RVA: 0x00096C98 File Offset: 0x00094E98
		// (set) Token: 0x060036AE RID: 13998 RVA: 0x00096CA0 File Offset: 0x00094EA0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurPeriodType
		{
			get
			{
				return this.curPeriodType_;
			}
			set
			{
				this.curPeriodType_ = value;
			}
		}

		// Token: 0x17000FAF RID: 4015
		// (get) Token: 0x060036AF RID: 13999 RVA: 0x00096CA9 File Offset: 0x00094EA9
		// (set) Token: 0x060036B0 RID: 14000 RVA: 0x00096CB1 File Offset: 0x00094EB1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Wave
		{
			get
			{
				return this.wave_;
			}
			set
			{
				this.wave_ = value;
			}
		}

		// Token: 0x17000FB0 RID: 4016
		// (get) Token: 0x060036B1 RID: 14001 RVA: 0x00096CBA File Offset: 0x00094EBA
		// (set) Token: 0x060036B2 RID: 14002 RVA: 0x00096CC2 File Offset: 0x00094EC2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsLose
		{
			get
			{
				return this.isLose_;
			}
			set
			{
				this.isLose_ = value;
			}
		}

		// Token: 0x17000FB1 RID: 4017
		// (get) Token: 0x060036B3 RID: 14003 RVA: 0x00096CCB File Offset: 0x00094ECB
		// (set) Token: 0x060036B4 RID: 14004 RVA: 0x00096CD3 File Offset: 0x00094ED3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Exp
		{
			get
			{
				return this.exp_;
			}
			set
			{
				this.exp_ = value;
			}
		}

		// Token: 0x17000FB2 RID: 4018
		// (get) Token: 0x060036B5 RID: 14005 RVA: 0x00096CDC File Offset: 0x00094EDC
		// (set) Token: 0x060036B6 RID: 14006 RVA: 0x00096CE4 File Offset: 0x00094EE4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint LevelId
		{
			get
			{
				return this.levelId_;
			}
			set
			{
				this.levelId_ = value;
			}
		}

		// Token: 0x060036B7 RID: 14007 RVA: 0x00096CED File Offset: 0x00094EED
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as EvolveBuildFinishScNotify);
		}

		// Token: 0x060036B8 RID: 14008 RVA: 0x00096CFC File Offset: 0x00094EFC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(EvolveBuildFinishScNotify other)
		{
			return other != null && (other == this || (this.Coin == other.Coin && this.Score == other.Score && this.BattleResultType == other.BattleResultType && object.Equals(this.LevelInfo, other.LevelInfo) && this.CurPeriodType == other.CurPeriodType && this.Wave == other.Wave && this.IsLose == other.IsLose && this.Exp == other.Exp && this.LevelId == other.LevelId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060036B9 RID: 14009 RVA: 0x00096DBC File Offset: 0x00094FBC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Coin != 0U)
			{
				num ^= this.Coin.GetHashCode();
			}
			if (this.Score != 0U)
			{
				num ^= this.Score.GetHashCode();
			}
			if (this.BattleResultType != NKAEANAJHFL.EvolveBattleResultNone)
			{
				num ^= this.BattleResultType.GetHashCode();
			}
			if (this.levelInfo_ != null)
			{
				num ^= this.LevelInfo.GetHashCode();
			}
			if (this.CurPeriodType != 0U)
			{
				num ^= this.CurPeriodType.GetHashCode();
			}
			if (this.Wave != 0U)
			{
				num ^= this.Wave.GetHashCode();
			}
			if (this.IsLose)
			{
				num ^= this.IsLose.GetHashCode();
			}
			if (this.Exp != 0U)
			{
				num ^= this.Exp.GetHashCode();
			}
			if (this.LevelId != 0U)
			{
				num ^= this.LevelId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060036BA RID: 14010 RVA: 0x00096EC6 File Offset: 0x000950C6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060036BB RID: 14011 RVA: 0x00096ECE File Offset: 0x000950CE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060036BC RID: 14012 RVA: 0x00096ED8 File Offset: 0x000950D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Wave != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.Wave);
			}
			if (this.CurPeriodType != 0U)
			{
				output.WriteRawTag(24);
				output.WriteUInt32(this.CurPeriodType);
			}
			if (this.levelInfo_ != null)
			{
				output.WriteRawTag(34);
				output.WriteMessage(this.LevelInfo);
			}
			if (this.Coin != 0U)
			{
				output.WriteRawTag(48);
				output.WriteUInt32(this.Coin);
			}
			if (this.BattleResultType != NKAEANAJHFL.EvolveBattleResultNone)
			{
				output.WriteRawTag(56);
				output.WriteEnum((int)this.BattleResultType);
			}
			if (this.Exp != 0U)
			{
				output.WriteRawTag(80);
				output.WriteUInt32(this.Exp);
			}
			if (this.IsLose)
			{
				output.WriteRawTag(88);
				output.WriteBool(this.IsLose);
			}
			if (this.LevelId != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.LevelId);
			}
			if (this.Score != 0U)
			{
				output.WriteRawTag(120);
				output.WriteUInt32(this.Score);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060036BD RID: 14013 RVA: 0x00096FF4 File Offset: 0x000951F4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Coin != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Coin);
			}
			if (this.Score != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Score);
			}
			if (this.BattleResultType != NKAEANAJHFL.EvolveBattleResultNone)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.BattleResultType);
			}
			if (this.levelInfo_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.LevelInfo);
			}
			if (this.CurPeriodType != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurPeriodType);
			}
			if (this.Wave != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Wave);
			}
			if (this.IsLose)
			{
				num += 2;
			}
			if (this.Exp != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Exp);
			}
			if (this.LevelId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.LevelId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060036BE RID: 14014 RVA: 0x000970E8 File Offset: 0x000952E8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(EvolveBuildFinishScNotify other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Coin != 0U)
			{
				this.Coin = other.Coin;
			}
			if (other.Score != 0U)
			{
				this.Score = other.Score;
			}
			if (other.BattleResultType != NKAEANAJHFL.EvolveBattleResultNone)
			{
				this.BattleResultType = other.BattleResultType;
			}
			if (other.levelInfo_ != null)
			{
				if (this.levelInfo_ == null)
				{
					this.LevelInfo = new EvolveBuildLevelInfo();
				}
				this.LevelInfo.MergeFrom(other.LevelInfo);
			}
			if (other.CurPeriodType != 0U)
			{
				this.CurPeriodType = other.CurPeriodType;
			}
			if (other.Wave != 0U)
			{
				this.Wave = other.Wave;
			}
			if (other.IsLose)
			{
				this.IsLose = other.IsLose;
			}
			if (other.Exp != 0U)
			{
				this.Exp = other.Exp;
			}
			if (other.LevelId != 0U)
			{
				this.LevelId = other.LevelId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060036BF RID: 14015 RVA: 0x000971DC File Offset: 0x000953DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060036C0 RID: 14016 RVA: 0x000971E8 File Offset: 0x000953E8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 48U)
				{
					if (num <= 24U)
					{
						if (num == 8U)
						{
							this.Wave = input.ReadUInt32();
							continue;
						}
						if (num == 24U)
						{
							this.CurPeriodType = input.ReadUInt32();
							continue;
						}
					}
					else
					{
						if (num == 34U)
						{
							if (this.levelInfo_ == null)
							{
								this.LevelInfo = new EvolveBuildLevelInfo();
							}
							input.ReadMessage(this.LevelInfo);
							continue;
						}
						if (num == 48U)
						{
							this.Coin = input.ReadUInt32();
							continue;
						}
					}
				}
				else if (num <= 80U)
				{
					if (num == 56U)
					{
						this.BattleResultType = (NKAEANAJHFL)input.ReadEnum();
						continue;
					}
					if (num == 80U)
					{
						this.Exp = input.ReadUInt32();
						continue;
					}
				}
				else
				{
					if (num == 88U)
					{
						this.IsLose = input.ReadBool();
						continue;
					}
					if (num == 112U)
					{
						this.LevelId = input.ReadUInt32();
						continue;
					}
					if (num == 120U)
					{
						this.Score = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x0400158C RID: 5516
		private static readonly MessageParser<EvolveBuildFinishScNotify> _parser = new MessageParser<EvolveBuildFinishScNotify>(() => new EvolveBuildFinishScNotify());

		// Token: 0x0400158D RID: 5517
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400158E RID: 5518
		public const int CoinFieldNumber = 6;

		// Token: 0x0400158F RID: 5519
		private uint coin_;

		// Token: 0x04001590 RID: 5520
		public const int ScoreFieldNumber = 15;

		// Token: 0x04001591 RID: 5521
		private uint score_;

		// Token: 0x04001592 RID: 5522
		public const int BattleResultTypeFieldNumber = 7;

		// Token: 0x04001593 RID: 5523
		private NKAEANAJHFL battleResultType_;

		// Token: 0x04001594 RID: 5524
		public const int LevelInfoFieldNumber = 4;

		// Token: 0x04001595 RID: 5525
		private EvolveBuildLevelInfo levelInfo_;

		// Token: 0x04001596 RID: 5526
		public const int CurPeriodTypeFieldNumber = 3;

		// Token: 0x04001597 RID: 5527
		private uint curPeriodType_;

		// Token: 0x04001598 RID: 5528
		public const int WaveFieldNumber = 1;

		// Token: 0x04001599 RID: 5529
		private uint wave_;

		// Token: 0x0400159A RID: 5530
		public const int IsLoseFieldNumber = 11;

		// Token: 0x0400159B RID: 5531
		private bool isLose_;

		// Token: 0x0400159C RID: 5532
		public const int ExpFieldNumber = 10;

		// Token: 0x0400159D RID: 5533
		private uint exp_;

		// Token: 0x0400159E RID: 5534
		public const int LevelIdFieldNumber = 14;

		// Token: 0x0400159F RID: 5535
		private uint levelId_;
	}
}
